﻿using Abp.Dependency;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using Yozeev.BankService.Models;

namespace Yozeev.BankService.Clients
{
    public interface IPaymentClient: ITransientDependency
    {
        /// <summary>
        /// 一码多扫支付
        /// </summary>
        /// <param name="req"></param>
        /// <param name="details"></param>
        /// <returns></returns>
        Task<PaymentRes> MarchantPay(PaymentReqModel req, List<PaymentDetail> details);
        /// <summary>
        /// 微信支付
        /// </summary>
        /// <param name="req"></param>
        /// <returns></returns>
        Task<PaymentRes> WeichatPay(WeichatPayReq req, List<WeichatOrderItem> details);
        Task<PayResult> PayResult(string MSG);
        Task<PayCancelRes> PayCancel(PayCancelReqModel req);
        Task<QueryOrderStatusRes> QueryOrderStatus(QueryOrderReq request);
    }
}
